# Code Twitter Data for:
# "Reconciling National and Supranational Identities:
# Civilizationism in European Far-Right Discourse"

# Joseph Cerrone

# Perspectives on Politics

# Load Packages-----
library(tidyverse)
library(readr)
library(lubridate)
library(quanteda)
library(academictwitteR)


# Import Data-----
# Add your own File Path
tweets <- read_rds("~/FILE PATH/Tweets.rds")


# Rehydrate Tweets-----
# Use the hydrate_tweets function in the academictwitteR package
# The "id" column in Tweets.rds contains the unique tweet ID for each tweet
# Add text of tweets to "tweets" data object, calling the column "text"

# Separate Tweets-----
france <- subset(tweets, state == "France")
germany <- subset(tweets, state == "Germany")
italy <- subset(tweets, state == "Italy")
netherlands <- subset(tweets, state == "Netherlands")
spain <- subset(tweets, state == "Spain")
sweden <- subset(tweets, state == "Sweden")


# Dictionaries 1-----
dict_dutch <- dictionary(list(
  civ_gen = c("beschaving*")))
dict_french <- dictionary(list(
  civ_gen = c("civilis*")))
dict_german <- dictionary(list(
  civ_gen = c("zivilisa*", "zivilisi*", "kultur*")))
dict_italian <- dictionary(list(
  civ_gen = c("civilizz*", "civilt*")))
dict_spanish <- dictionary(list(
  civ_gen = c("civiliz*")))
dict_swedish <- dictionary(list(
  civ_gen = c("civilisation*")))


# Text Preprocessing 1-----
france_corpus <- corpus(france, text_field = "text")
france_kwic_tokens <- tokens(france_corpus)
france_tokens <- france_corpus %>%
  tokens(remove_punct = TRUE, remove_symbols = TRUE, 
         remove_separators = TRUE, remove_url = TRUE, remove_numbers = TRUE) %>%
  tokens_tolower() %>%
  tokens_select(stopwords("french"), selection = "remove") %>%
  tokens_select(pattern = c("*’", "@*", ".@*", "n\'",
                            "rt", "\ufe0f*", "\U2066*", "\U0001d7ef*",
                            "être", "avoir",
                            "0*", "1*", "2*", "3*", 
                            "4*", "5*", "6*", "7*", 
                            "8*", "9*"), selection = "remove")
docvars(france_tokens) <- docvars(france_corpus)
france_dfm <- france_tokens %>%
  dfm() %>%
  dfm_group(id)
france_civ <- france_dfm %>%
  dfm_lookup(dict_french) %>%
  convert(to = "data.frame") %>%
  rename(civ_gen_n = civ_gen)
france_civ$civ_gen <- 0
france_civ$civ_gen[france_civ$civ_gen_n > 0] <- 1
france_civ$civ_gen <- as.factor(france_civ$civ_gen)
france <- merge(france, france_civ,
                by.x = "id", by.y = "doc_id")

germany_corpus <- corpus(germany, text_field = "text")
germany_kwic_tokens <- tokens(germany_corpus)
germany_tokens <- germany_corpus %>%
  tokens(remove_punct = TRUE, remove_symbols = TRUE, 
         remove_separators = TRUE, remove_url = TRUE, remove_numbers = TRUE) %>%
  tokens_tolower() %>%
  tokens_select(stopwords("german"), selection = "remove") %>%
  tokens_select(pattern = c("*’", "@*", ".@*",
                            "rt", "\ufe0f*", "\U2066*", "\U0001d7ef*",
                            "dass", "all", "müssen", "beim",
                            "jed", "dafür", "amp", "tl", "ab",
                            "haben", "sein",
                            "0*", "1*", "2*", "3*", 
                            "4*", "5*", "6*", "7*", 
                            "8*", "9*"), selection = "remove")
docvars(germany_tokens) <- docvars(germany_corpus)
germany_dfm <- germany_tokens %>%
  dfm() %>%
  dfm_group(id)
germany_civ <- germany_dfm %>%
  dfm_lookup(dict_german) %>%
  convert(to = "data.frame") %>%
  rename(civ_gen_n = civ_gen)
germany_civ$civ_gen <- 0
germany_civ$civ_gen[germany_civ$civ_gen_n > 0] <- 1
germany_civ$civ_gen <- as.factor(germany_civ$civ_gen)
germany <- merge(germany, germany_civ,
                 by.x = "id", by.y = "doc_id")

italy_corpus <- corpus(italy, text_field = "text")
italy_kwic_tokens <- tokens(italy_corpus)
italy_tokens <- italy_corpus %>%
  tokens(remove_punct = TRUE, remove_symbols = TRUE, 
         remove_separators = TRUE, remove_url = TRUE, remove_numbers = TRUE) %>%
  tokens_tolower() %>%
  tokens_select(stopwords("italian"), selection = "remove") %>%
  tokens_select(pattern = c("*’", "@*", ".@*",
                            "rt", "\ufe0f*", "\U2066*", "\U0001d7ef*",
                            "l'", "gt", "hashtag", "tw",
                            "essere", "avere",
                            "0*", "1*", "2*", "3*",
                            "4*", "5*", "6*", "7*",
                            "8*", "9*"), selection = "remove")
docvars(italy_tokens) <- docvars(italy_corpus)
italy_dfm <- italy_tokens %>%
  dfm() %>%
  dfm_group(id)
italy_civ <- italy_dfm %>%
  dfm_lookup(dict_italian) %>%
  convert(to = "data.frame") %>%
  rename(civ_gen_n = civ_gen)
italy_civ$civ_gen <- 0
italy_civ$civ_gen[italy_civ$civ_gen_n > 0] <- 1
italy_civ$civ_gen <- as.factor(italy_civ$civ_gen)
italy <- merge(italy, italy_civ,
               by.x = "id", by.y = "doc_id")

netherlands_corpus <- corpus(netherlands, text_field = "text")
netherlands_kwic_tokens <- tokens(netherlands_corpus)
netherlands_tokens <- netherlands_corpus %>%
  tokens(remove_punct = TRUE, remove_symbols = TRUE, 
         remove_separators = TRUE, remove_url = TRUE, remove_numbers = TRUE) %>%
  tokens_tolower() %>%
  tokens_select(stopwords("dutch"), selection = "remove") %>%
  tokens_select(pattern = c("*’", "@*", ".@*",
                            "rt", "\ufe0f*", "\U2066*", "\U0001d7ef*",
                            "\u203c\ufe0f",
                            "0*", "1*", "2*", "3*", 
                            "4*", "5*", "6*", "7*", 
                            "8*", "9*"), selection = "remove")
docvars(netherlands_tokens) <- docvars(netherlands_corpus)
netherlands_dfm <- netherlands_tokens %>%
  dfm() %>%
  dfm_group(tweet_id)
netherlands_civ <- netherlands_dfm %>%
  dfm_lookup(dict_dutch) %>%
  convert(to = "data.frame") %>%
  rename(civ_gen_n = civ_gen)
netherlands_civ$civ_gen <- 0
netherlands_civ$civ_gen[netherlands_civ$civ_gen_n > 0] <- 1
netherlands_civ$civ_gen <- as.factor(netherlands_civ$civ_gen)
netherlands <- merge(netherlands, netherlands_civ,
                     by.x = "tweet_id", by.y = "doc_id")

spain_corpus <- corpus(spain, text_field = "text")
spain_kwic_tokens <- tokens(spain_corpus)
spain_tokens <- spain_corpus %>%
  tokens(remove_punct = TRUE, remove_symbols = TRUE, 
         remove_separators = TRUE, remove_url = TRUE, remove_numbers = TRUE) %>%
  tokens_tolower() %>%
  tokens_select(stopwords("spanish"), selection = "remove") %>%
  tokens_select(pattern = c("*’", "@*", ".@*",
                            "rt", "\ufe0f*", "\U2066*", "\U0001d7ef*",
                            "\u203c\ufe0f", "ser", "estar", "haber",
                            "0*", "1*", "2*", "3*", 
                            "4*", "5*", "6*", "7*", 
                            "8*", "9*"), selection = "remove")
docvars(spain_tokens) <- docvars(spain_corpus)
spain_dfm <- spain_tokens %>%
  dfm() %>%
  dfm_group(id)
spain_civ <- spain_dfm %>%
  dfm_lookup(dict_spanish) %>%
  convert(to = "data.frame") %>%
  rename(civ_gen_n = civ_gen)
spain_civ$civ_gen <- 0
spain_civ$civ_gen[spain_civ$civ_gen_n > 0] <- 1
spain_civ$civ_gen <- as.factor(spain_civ$civ_gen)
spain <- merge(spain, spain_civ,
               by.x = "id", by.y = "doc_id")

sweden_corpus <- corpus(sweden, text_field = "text")
sweden_kwic_tokens <- tokens(sweden_corpus)
sweden_tokens <- sweden_corpus %>%
  tokens(remove_punct = TRUE, remove_symbols = TRUE, 
         remove_separators = TRUE, remove_url = TRUE, remove_numbers = TRUE) %>%
  tokens_tolower() %>%
  tokens_select(stopwords("swedish"), selection = "remove") %>%
  tokens_select(pattern = c("*’", "@*", ".@*",
                            "rt", "\ufe0f*", "\U2066*", "\U0001d7ef*",
                            "0*", "1*", "2*", "3*", 
                            "4*", "5*", "6*", "7*", 
                            "8*", "9*"), selection = "remove")
docvars(sweden_tokens) <- docvars(sweden_corpus)
sweden_dfm <- sweden_tokens %>%
  dfm() %>%
  dfm_group(id)
sweden_civ <- sweden_dfm %>%
  dfm_lookup(dict_swedish) %>%
  convert(to = "data.frame") %>%
  rename(civ_gen_n = civ_gen)
sweden_civ$civ_gen <- 0
sweden_civ$civ_gen[sweden_civ$civ_gen_n > 0] <- 1
sweden_civ$civ_gen <- as.factor(sweden_civ$civ_gen)
sweden <- merge(sweden, sweden_civ,
                by.x = "id", by.y = "doc_id")


# Identify Multiword Phrases-----
france_kwic <- kwic(france_kwic_tokens, 
                    pattern = "civilis*", 
                    window = 25)

germany_kwic <- kwic(germany_kwic_tokens, 
                     pattern = c("zivilisa*", "zivilisi*", "kultur*"), 
                     window = 25)

italy_kwic <- kwic(italy_kwic_tokens, 
                   pattern = c("civilizz*", "civilt*"), 
                   window = 25)

netherlands_kwic <- kwic(netherlands_kwic_tokens, 
                         pattern = "beschaving*", 
                         window = 25)

spain_kwic <- kwic(spain_kwic_tokens, 
                   pattern = "civiliz*", 
                   window = 25)

sweden_kwic <- kwic(sweden_kwic_tokens, pattern = "civilisation*", 
                    window = 25)


# Dictionaries 2-----
dict_dutch2 <- dictionary(list(
  civ = c("beschaving_ter_wereld", "beschaving_en_barbarij",
          "europese_beschaving", "hoge_beschaving",
          "onze_beschaving", "onze_vrijheid_en_beschaving",
          "westerse_beschaving")))
dutch_multiword <- c("beschaving ter wereld", "beschaving en barbarij",
                     "europese beschaving", "hoge beschaving",
                     "onze beschaving", "onze vrijheid en beschaving",
                     "westerse beschaving")
dict_french2 <- dictionary(list(
  civ = c("une_civilisation", "d'une_civilisation",
          "qu'une_civilisation", "toutes_les_civilisations",
          "toute_civilisation", "civilisation_de_la_liberté",
          "civilisation_qui_a_fait_l'Europe", "trou_noir_civilisationnel",
          "choix_de_civilisation", "crise_de_civilisation",
          "crise_de_la_civilisation", "faute_civilisationnelle",
          "ensemble_civilisationnel", "sursaut_de_civilisation",
          "progrès_civilisationnel", "projet_de_civilisation",
          "combat_de_civilisation", "valeurs_de_civilisation",
          "valeurs_de_notre_civilisation", "valeurs_civilisationnelles",
          "dialogue_entre_les_civilisations", "civilisation_écologique",
          "civilisation_européenne", "pour_la_civilisation_et_contre_la_barbarie",
          "civilisation_française", "civilisation_humaine",
          "enjeu_de_civilisation", "enjeux_de_civilisation",
          "sa_civilisation", "c'est_une_civilisation",
          "est_une_civilisation", "civilisation_judéo-chrétienne",
          "civilisation_musulmane", "notre_civilisation",
          "notre_survie_en_tant_que_civilisation", "deuxième_civilisation",
          "cette_civilisation", "nous_sommes_:_civilisation",
          "civilisation_occidentale")))
french_multiword <- c("une civilisation", "d'une civilisation",
                      "qu'une civilisation", "toutes les civilisations",
                      "toute civilisation", "civilisation de la liberté",
                      "civilisation qui a fait l'Europe", "trou noir civilisationnel",
                      "choix de civilisation", "crise de civilisation",
                      "crise de la civilisation", "faute civilisationnelle",
                      "ensemble civilisationnel", "sursaut de civilisation",
                      "progrès civilisationnel", "projet de civilisation",
                      "combat de civilisation", "valeurs de civilisation",
                      "valeurs de notre civilisation", "valeurs civilisationnelles",
                      "dialogue entre les civilisations", "civilisation écologique",
                      "civilisation européenne", "pour la civilisation et contre la barbarie",
                      "civilisation française", "civilisation humaine",
                      "enjeu de civilisation", "enjeux de civilisation",
                      "sa civilisation", "c'est une civilisation",
                      "est une civilisation", "civilisation judéo-chrétienne",
                      "civilisation musulmane", "notre civilisation",
                      "notre survie en tant que civilisation", "deuxième civilisation",
                      "cette civilisation", "nous sommes :	civilisation",
                      "civilisation occidentale")
dict_german2 <- dictionary(list(
  civ = c("zivilisatorischen_defizite_des_islamischen_wertesystems", "zivilisationsfeinden",
          "christlich-abendländischen_kultur", "kulturkreisen",
          "europäischer_kultur", "europäischer_identität",
          "europäischen_werte", "abendländische_kultur",
          "westliche_kultur")))
german_multiword <- c("zivilisatorischen defizite des islamischen wertesystems", "zivilisationsfeinden",
                      "christlich-abendländischen kultur", "kulturkreisen",
                      "europäischer kultur", "europäischer identität",
                      "europäischen werte", "abendländische kultur",
                      "westliche kultur")
dict_italian2 <- dictionary(list(
  civ = c("contro_la_nostra_civiltà", "civiltà_alpina",
          "antica_civiltà", "dell'antica_civiltà",
          "la_barbarie_o_la_civiltà", "faro_di_civiltà",
          "civiltà_cristiane", "civiltà_e_religione",
          "civiltà_del_nostro_splendido_paese", "modello_di_civiltà",
          "civiltà_e_delle_piccole_patrie", "scontro_di_civiltà",
          "scontro_tra_civiltà", "continente_e_civiltà",
          "culla_della_civiltà", "culla_delle_civiltà",
          "culla_di_civiltà", "culla_civiltà",
          "culla_della_nostra_civiltà", "nostra_cultura_e_civiltà",
          "nostre_cultura_e_civiltà", "sfregiano_la_nostra_civiltà",
          "difendiamo_la_nostra_civiltà", "per_difendere_la_nostra_civiltà",
          "vogliamo_difendere_la_nostra_civiltà", "difendere_la_nostra_democrazia_,_la_nostra_civiltà",
          "insegnato_a_difendere_la_nostra_civiltà", "difendere_noi_stessi_,_la_nostra_civiltà",
          "difendere_ad_ogni_costo_la_sua_civiltà", "nemico_nostra_civiltà",
          "nemico_della_nostra_civiltà", "nemici_della_nostra_civiltà",
          "un'intera_civiltà", "civiltà_europea",
          "l'Europa_della_civiltà", "ogni_segno_di_civiltà",
          "per_la_nostra_civiltà", "fondato_la_nostra_civiltà",
          "civiltà_libera", "nostra_civiltà_è_la_nostra_libertà",
          "dal_mondo_e_dalla_civiltà", "più_grandi_civiltà",
          "odia_la_nostra_civiltà", "storia_e_di_civiltà",
          "nostra_storia_e_alla_nostra_civiltà", "storia_,_cultura_,_civiltà",
          "civiltà_umana", "civiltà_italiana",
          "suo_stile_di_vita_la_sua_civiltà", "maestro_di_civiltà",
          "della_nostra_civiltà", "ma_la_nostra_civiltà",
          "quindi_la_nostra_civiltà", "su_cui_poggia_la_nostra_civiltà",
          "nostra_civiltà_e_la_nostra_democrazia", "nostra_idea_di_civiltà",
          "nostra_terra_e_la_nostra_civiltà", "nostre_tradizioni_,_la_nostra_civiltà",
          "nostri_valori_e_la_nostra_civiltà", "civiltà_del_politicamente_corretto",
          "l'orgoglio_di_una_civiltà", "civiltà_e_orgoglio",
          "civiltà_laica", "ancora_una_civiltà",
          "simbolo_di_una_civiltà", "simboli_nostra_civiltà",
          "simboli_millenari_di_civiltà", "la_battaglia_per_il_rispetto_delle_donne_è_una_battaglia_di_civiltà",
          "questa_è_la_nostra_civiltà", "migliaia_di_anni_di_civiltà",
          "guerra_di_civiltà", "guerra_tra_civiltà",
          "civiltà_occidentale", "civilizzazione_occidentale",
          "all'occidente_,_alla_nostra_civiltà", "civiltà_giuridica_italiana_e_occidentale",
          "ciò_che_la_nostra_civiltà_rappresenta")))
italian_multiword <- c("contro la nostra civiltà", "civiltà alpina",
                       "antica civiltà", "dell'antica civiltà",
                       "la barbarie o la civiltà", "faro di civiltà",
                       "civiltà cristiane", "civiltà e religione",
                       "civiltà del nostro splendido paese", "modello di civiltà",
                       "civiltà e delle piccole patrie", "scontro di civiltà",
                       "scontro tra civiltà", "continente e civiltà",
                       "culla della civiltà", "culla delle civiltà",
                       "culla di civiltà", "culla civiltà",
                       "culla della nostra civiltà", "nostra cultura e civiltà",
                       "nostre cultura e civiltà", "sfregiano la nostra civiltà",
                       "difendiamo la nostra civiltà", "per difendere la nostra civiltà",
                       "vogliamo difendere la nostra civiltà", "difendere la nostra democrazia , la nostra civiltà",
                       "insegnato a difendere la nostra civiltà", "difendere noi stessi , la nostra civiltà",
                       "difendere ad ogni costo la sua civiltà", "nemico nostra civiltà",
                       "nemico della nostra civiltà", "nemici della nostra civiltà",
                       "un'intera civiltà", "civiltà europea",
                       "l'Europa della civiltà", "ogni segno di civiltà",
                       "per la nostra civiltà", "fondato la nostra civiltà",
                       "civiltà libera", "nostra civiltà è la nostra libertà",
                       "dal mondo e dalla civiltà", "più grandi civiltà",
                       "odia la nostra civiltà", "storia e di civiltà",
                       "nostra storia e alla nostra civiltà", "storia , cultura , civiltà",
                       "civiltà umana", "civiltà italiana",
                       "suo stile di vita la sua civiltà", "maestro di civiltà",
                       "della nostra civiltà", "ma la nostra civiltà",
                       "quindi la nostra civiltà", "su cui poggia la nostra civiltà",
                       "nostra civiltà e la nostra democrazia", "nostra idea di civiltà",
                       "nostra terra e la nostra civiltà", "nostre tradizioni , la nostra civiltà",
                       "nostri valori e la nostra civiltà", "civiltà del politicamente corretto",
                       "l'orgoglio di una civiltà", "civiltà e orgoglio",
                       "civiltà laica", "ancora una civiltà",
                       "simbolo di una civiltà", "simboli nostra civiltà",
                       "simboli millenari di civiltà", "la battaglia per il rispetto delle donne è una battaglia di civiltà",
                       "questa è la nostra civiltà", "migliaia di anni di civiltà",
                       "guerra di civiltà", "guerra tra civiltà",
                       "civiltà occidentale", "civilizzazione occidentale",
                       "all'occidente , alla nostra civiltà", "civiltà giuridica italiana e occidentale",
                       "ciò che la nostra civiltà rappresenta")
dict_spanish2 <- dictionary(list(
  civ = c("civilización_avanzada", "pilares_básicos_de_toda_civilización",
          "mejor_civilización_de_la_historia", "civilización_de_la_libertad",
          "o_civilización_o_barbarie", "o_barbarie_o_civilización",
          "civilización_o_la_expansión_de_los_valores_occidentales", "civilización_levantará",
          "valores_de_la_civilización", "principios_civilizatorios",
          "obra_civilizatoria", "cultura_y_la_civilización",
          "culturas_y_civilizaciones", "defender_la_civilización",
          "defendamos_la_civilización", "defensa_de_la_civilización",
          "civilización_europea", "nuestra_civilización",
          "respeto_entre_civilizaciones", "ruinas_de_una_civilización",
          "estatuas_que_representan_la_civilización", "entregar_la_civilización",
          "símbolo_de_civilización", "símbolos_de_la_civilización",
          "símbolo_que_refleja_una_civilización", "civilización_universal",
          "guerra_de_civilizaciones", "modo_de_civilización",
          "creemos_en_la_civilización", "civilización_occidental",
          "civilización_en_occidente", "civilización_cristiana_occidental")))
spanish_multiword <- c("civilización avanzada", "pilares básicos de toda civilización",
                       "mejor civilización de la historia", "civilización de la libertad",
                       "o civilización o barbarie", "o barbarie o civilización",
                       "civilización o la expansión de los valores occidentales", "civilización levantará",
                       "valores de la civilización", "principios civilizatorios",
                       "obra civilizatoria", "cultura y la civilización",
                       "culturas y civilizaciones", "defender la civilización",
                       "defendamos la civilización", "defensa de la civilización",
                       "civilización europea", "nuestra civilización",
                       "respeto entre civilizaciones", "ruinas de una civilización",
                       "estatuas que representan la civilización", "entregar la civilización",
                       "símbolo de civilización", "símbolos de la civilización",
                       "símbolo que refleja una civilización", "civilización universal",
                       "guerra de civilizaciones", "modo de civilización",
                       "creemos en la civilización", "civilización occidental",
                       "civilización en occidente", "civilización cristiana occidental")
dict_swedish2 <- dictionary(list(
  civ = c("europeisk_civilisation", "vår_civilisation*",
          "västerländsk_civilisation", "västerländska_civilisation")))
swedish_multiword <- c("europeisk civilisation", "vår civilisation*",
                       "västerländsk civilisation", "västerländska civilisation")


# Text Preprocessing 2-----
france_kwic_tokens <- tokens_tolower(france_kwic_tokens)
france_tokens_comp <- tokens_compound(france_kwic_tokens, pattern = phrase(french_multiword))
france_dfm2 <- france_tokens_comp %>%
  dfm() %>%
  dfm_group(id)
france2 <- france_dfm2 %>%
  dfm_lookup(dictionary = dict_french2) %>%
  convert(to = "data.frame") %>%
  rename(civ_n = civ)
france2$civ <- 0
france2$civ[france2$civ_n > 0] <- 1
france2$civ <- as.factor(france2$civ)
france <- merge(france, france2, 
                by.x = "id", by.y = "doc_id")

germany_kwic_tokens <- tokens_tolower(germany_kwic_tokens)
germany_tokens_comp <- tokens_compound(germany_kwic_tokens, pattern = phrase(german_multiword))
germany_dfm2 <- germany_tokens_comp %>%
  dfm() %>%
  dfm_group(id)
germany2 <- germany_dfm2 %>%
  dfm_lookup(dictionary = dict_german2) %>%
  convert(to = "data.frame") %>%
  rename(civ_n = civ)
germany2$civ <- 0
germany2$civ[germany2$civ_n > 0] <- 1
germany2$civ <- as.factor(germany2$civ)
germany <- merge(germany, germany2, 
                 by.x = "id", by.y = "doc_id")

italy_kwic_tokens <- tokens_tolower(italy_kwic_tokens)
italy_tokens_comp <- tokens_compound(italy_kwic_tokens, pattern = phrase(italian_multiword))
italy_dfm2 <- italy_tokens_comp %>%
  dfm() %>%
  dfm_group(id)
italy2 <- italy_dfm2 %>%
  dfm_lookup(dictionary = dict_italian2) %>%
  convert(to = "data.frame") %>%
  rename(civ_n = civ)
italy2$civ <- 0
italy2$civ[italy2$civ_n > 0] <- 1
italy2$civ <- as.factor(italy2$civ)
italy <- merge(italy, italy2, 
               by.x = "id", by.y = "doc_id")

netherlands_kwic_tokens <- tokens_tolower(netherlands_kwic_tokens)
netherlands_tokens_comp <- tokens_compound(netherlands_kwic_tokens, pattern = phrase(dutch_multiword))
netherlands_dfm2 <- netherlands_tokens_comp %>%
  dfm() %>%
  dfm_group(tweet_id)
netherlands2 <- netherlands_dfm2 %>%
  dfm_lookup(dictionary = dict_dutch2) %>%
  convert(to = "data.frame") %>%
  rename(civ_n = civ)
netherlands2$civ <- 0
netherlands2$civ[netherlands2$civ_n > 0] <- 1
netherlands2$civ <- as.factor(netherlands2$civ)
netherlands <- merge(netherlands, netherlands2, 
                     by.x = "tweet_id", by.y = "doc_id")

spain_kwic_tokens <- tokens_tolower(spain_kwic_tokens)
spain_tokens_comp <- tokens_compound(spain_kwic_tokens, pattern = phrase(spanish_multiword))
spain_dfm2 <- spain_tokens_comp %>%
  dfm() %>%
  dfm_group(id)
spain2 <- spain_dfm2 %>%
  dfm_lookup(dictionary = dict_spanish2) %>%
  convert(to = "data.frame") %>%
  rename(civ_n = civ)
spain2$civ <- 0
spain2$civ[spain2$civ_n > 0] <- 1
spain2$civ <- as.factor(spain2$civ)
spain <- merge(spain, spain2, 
               by.x = "id", by.y = "doc_id")

sweden_kwic_tokens <- tokens_tolower(sweden_kwic_tokens)
sweden_tokens_comp <- tokens_compound(sweden_kwic_tokens, pattern = phrase(swedish_multiword))
sweden_dfm2 <- sweden_tokens_comp %>%
  dfm() %>%
  dfm_group(id)
sweden2 <- sweden_dfm2 %>%
  dfm_lookup(dictionary = dict_swedish2) %>%
  convert(to = "data.frame") %>%
  rename(civ_n = civ)
sweden2$civ <- 0
sweden2$civ[sweden2$civ_n > 0] <- 1
sweden2$civ <- as.factor(sweden2$civ)
sweden <- merge(sweden, sweden2, 
                by.x = "id", by.y = "doc_id")


# Export Data-----
data_all <- rbind(france, germany, italy, spain, sweden)

# Add your own File Path
write_rds(data_all, "~/FILE PATH/Tweets.rds")

